import logging
import dashscope
import random
import time
from dashscope import Generation
from http import HTTPStatus
from .. import AiAdapter, AiQuery, AiQueryResult


LOGGER = logging.getLogger(__name__)


class Mock(AiAdapter):
    def query(self, query: AiQuery) -> AiQueryResult:
        try:
            LOGGER.info(query.userMessage)
            LOGGER.info("Mock AiAdapter Sleep 10")
            time.sleep(10)
            mockResult = """在过去的一段时间里，作为产品经理，我主要专注于产品设计和用户反馈的跟进工作，力求打造更符合 用户需求的产品体验。\n
            \n在产品设计方面，我主导了新功能的设计和优化流程。我们对现有产品的各项功能进行了深度分析，明确了改进点，旨在提升产品的易用性和功能性。
            我与设计团队紧密合作，提出并实施了一系列创新设计方案，包括界面优化、操作流程简化以及用户体验提升等。同时，我也积极参与到原型制作和测
            试阶段，确保每个细节都符合我们的设计初衷和用户期待。\n\n用户反馈跟进是我工作的另一重要部分。我定期收集和整理来自各个渠道的用户反馈，无
            论是应用商店的评价，还是用户的邮件、电话咨询，我都逐一查阅并记录。通过这些反馈，我深入理解了用户的需求、痛点以及对我们产品的建议。对于
            集中反映的问题，我及时协调团队进行修复和改进；对于有价值的建议，我将其融入到产品迭代计划中，以提升产品的满意度和用户粘性。\n\n在这个过
            程中，我深刻体会到，用户是产品的最好导师。他们的声音不仅推动我们改进产品，也启发我们不断创新。未来，我将继续以用户为中心，致力于打造更
            优质、更人性化的产品，以满足用户的期待并超越他们的想象。"""
            return AiQueryResult(text=mockResult, totalToken=9527)
        except Exception as e:
            LOGGER.exception(e)
            return AiQueryResult(isValid=False, errMessage=str(e))
